package Leetcode第一期;

public class 两数之和_1 {
    public void twoSum(int[] nums, int target) {
        //暴力解法
        /*for (int i = 0; i < nums.length; i++) {
            int temp = nums[i];
            for (int j = i + 1; j < nums.length; j++) {
                if ((temp + nums[j]) == target) {
                    return new int[]{i, j};
                }
            }
        }
        return null;*/
        //哈希
       /* Map<Integer,Integer> map=new HashMap<>();
        for(int i=0;i<nums.length;i++){
            int result=target-nums[i];
            if(map.containsKey(result) && map.get(result)!=i){
                return new int[]{i,map.get(result)};
            }
            map.put(nums[i],i);
        }
        throw new IllegalArgumentException("No two sum solution");*/

       /*HashMap<Integer,Integer> map=new HashMap<>();
       for (int i=0;i<nums.length;i++){
           int result=target-nums[i];
           if (map.containsKey(result) && map.get(result)!=i){
               //查看是否存在一个互补的数 并且这个数不能是本身
               return new int[]{i,map.get(result)};
           }
           map.put(nums[i],i);
       }*/

    }

}
